<?php
//Http请求类，用来负责处理各种表单请求,主要职责是过滤和根据需求格式化数据,采用单例模式
class Request {
    private static $instance;
    public static function getInstance(Model &$model,Check $check=null) {
        if(!self::$instance instanceof self) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    private function __construct() {
        Tool::formatGP();     //对get和post过来的数据进行转义
    }
    private function __clone() {}

    //过滤新增和更新的字段
    /**
     * 参数：
     * @Array $fields 需要增加字段属性，用于过滤表单不必要的元素下标
     */
    public function filter(Array $fields) {
        $needData = '';
        if(!Validate::isNullArray($_POST)) {
            $after = array();
            foreach($_POST as $key=>$value) {
                if(Validate::inArray($key,$fields)) $after[$key] = $value;
            }
            return Tool::setFormData($after);
        }
    }

    //获取网址参数并进行过滤加工
    public function getParams(Array $params=array()) {
        if(!Validate::isNullArray($params)) {
            $after = array();
            foreach($params as $key=>$value) {
                if($key == 'in') {
                    $value = str_replace(',',"','",$value);
                    $after[] = Tool::setHtmlString("'$value'");
                } else {
                    $after[] = Tool::setHtmlString("'$value'");
                }
           }
           return $after;
       }
    }

    //数据数组字段筛选
    private function selectData($fields,$data) {

    }


}


?>